﻿
''' <summary>
''' This is the base class that represents the value of a raise. The logic to determine which bid is highest is located in the subclasses. For example CommonHandBidValue
''' </summary>
''' <remarks></remarks>
Public MustInherit Class RaiseBidValue
    Private _dieValue As Integer
    Private _dieCount As Integer


    Public Sub New()

    End Sub

    Public Sub New(ByVal dieValue As Integer, ByVal dieCount As Integer)
        Me.DieCount = dieCount
        Me.DieValue = dieValue
    End Sub


    Public Property DieValue As Integer
        Get
            Return _dieValue
        End Get
        Set(ByVal value As Integer)
            _dieValue = value
        End Set
    End Property

    Public Property DieCount As Integer
        Get
            Return _dieCount
        End Get
        Set(ByVal value As Integer)
            _dieCount = value
        End Set
    End Property

    Public MustOverride Function IsHigherThan(ByVal raiseValue As RaiseBidValue)

    Public Shared Operator >(ByVal bid1 As RaiseBidValue, ByVal bid2 As RaiseBidValue)
        Return bid1.IsHigherThan(bid2)
    End Operator

    Public Shared Operator <(ByVal bid1 As RaiseBidValue, ByVal bid2 As RaiseBidValue)
        Return bid2.IsHigherThan(bid1)
    End Operator
End Class
